package com.wuyoucar.service;

import com.wuyoucar.common.PageBean;
import com.wuyoucar.common.ResultBean;
import com.wuyoucar.entity.TReport;
import org.apache.ibatis.annotations.Param;
import org.springframework.web.bind.annotation.RequestBody;

public interface IReportService {

    ResultBean getReport(int pageIndex,int pageSize);

    ResultBean getDisPatcher();

    ResultBean toDispatcher(Integer reportid,Integer userid);

    ResultBean showDispatcher(int pageIndex,int pageSize);

    //修改审核状态
    ResultBean updateReportAudit(Integer policynum,Integer firstid);

    //查看已通过查勘的所有申请
    ResultBean getLossAssessment();
    //查看已通过查勘的所有申请
    ResultBean getLossAssessment(int pageIndex,int pageSize);
    //定损条件查询
    ResultBean condition(int pageIndex, int pageSize,TReport tReport);
    //定损
    ResultBean updateLossAssessment(TReport tReport);
    ResultBean getReportDetails(Integer reportid);


    //查看所有状态为待审核的案件
    ResultBean getAllReport();

    //查看所有状态为待复审的案件
    PageBean<TReport> getAllReportByStates(Integer pageIndex, Integer pageSize, TReport tReport);


    ResultBean updateRecheck(Integer policynum, Integer firstid);

    //修改订单状态（待放款）
    ResultBean passVerification(Integer policynum, Integer firstid);

    ResultBean getHasSent(Integer surveyorid);
    //查询所有状态为'待放款'的理赔单
    ResultBean selectReportBystate();
    //查询所有状态为"已放款"的理赔单
    ResultBean selectReportState();
    //待放款初始化分页
    PageBean<TReport> selectReportByPage();
    //初始化＋分页
    PageBean<TReport> selectReportByPage(Integer pageIndex,Integer pageSize);
    //已放款初始化分页
    PageBean<TReport> selectPage();
    //初始化＋分页
    PageBean<TReport> selectPage(Integer pageIndex,Integer pageSize);

    //打款后修改理赔单状态
    ResultBean updateState(Double money,Integer reportid,Integer policynum);
    //勘查
    ResultBean alterReport(String newName, Integer reportid, String remark);
    //闪赔
//    ResultBean shanPei(String reportimages,String signature,Integer reportid);
    //查询已派遣带分页
    PageBean<TReport> page(Integer pageIndex,Integer pageSize,Integer surveyorid);

    //审核分页
    PageBean<TReport> seachPage(int pageIndex, int pageSize);

    //审核初始化分页
    PageBean<TReport> seachPage();
    //报案号查询
    PageBean<TReport> getReportbyReportid(Integer pageIndex,Integer pageSize,TReport reportno);
    //待放款 查询分页
    PageBean<TReport> searchByMoney(Integer pageIndex, Integer pageSize, Double money1, Double money2);
    //已放款查询分页
    PageBean<TReport> searchByMoney2(Integer pageIndex, Integer pageSize, Double money1, Double money2);

    //修改订单状态（已驳回）
    ResultBean turndown(@Param("policynum") Integer policynum, @Param("firstid") Integer firstid , @Param("remark") String remark);
    //闪赔
    ResultBean sanPei(String damageImg, String signImg, Integer money, Integer reportid);
    //报案人查询
    PageBean<TReport> searchName(Integer pageIndex, Integer pageSize, String rname);

}
